home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
MEDICAL
/
2608A.ZIP
/
GP.ZIP
/
CHKBP.SRC
< prev
next >
Wrap
Text File
|
1990-11-03
|
27KB
|
1,070 lines
;\|
;CHKBP.SRC Translated from CHKBP.EDT by Roger Mathew's EDT2SRC Ver 4.11
;CHECK_UP 11:59:28 AM 3/ 6/90 |
DO_DEFINES:
define(CTR2|N|1||)
define(CTR6|N|2||)
define(fld_lctr|N|2||)
define(ISITCLIN|A|1||)
define(FLAG|A|1||)
define(YES.NO|A|1||)
define(CTR3|N|1||)
define(MEM_NAME_CHK|A|27||)
define(PROC4|A|1||)
define(REF_CTR|N|2||)
define(MEM_DOC2|N|1||)
define(CON_CTR|N|2||)
define(EXTRAS|N|3||)
define(CON_NUM|N|3||)
define(CLIN_NUM|N|3||)
define(EMERG_NUM|N|3||)
define(ISIT_EMER|A|1||)
define(MEM_DOC|A|1||)
define(NY|A|1||)
define(AGE|N|2||)
define(BP_DROP|N|2||)
define(MEM_CTR|N|1||)
define(FBS_ADD|N|5|2|)
define(MEM_BP_AGE|N|3||)
define(AOD|A|1||15)
define(TD|S|8||)
define(MN|A|30||15)
define(DO|A|8||15)
define(QU|A|10||15)
define(DS|A|30||15)
define(QTY|N|3||15)
define(ISN|N|3||15)
define(CTR|N|2||)
define(CTR2|N|2||)
define(LNE.LNGTH|N|2||)
define(OK|A|1||)
define(LNE.LN2|N|2||)
define(NUM.MSG|N|2||)
define(MESSAGE|A|78||15)
define(ENT.MASK|A|10||)
define(LLC|N|2||)
define(WD|N|2||)
define(HT|N|2||)
define(MCNTR|N|5||)
define(MCNTR2|N|5||)
define(MCNTR3|N|5||)
define(MCNTR4|N|5||)
define(MEM_DIAB|A|1||)
define(MEM_NEW|A|1||)
define(MEM_BP|A|1||)
define(MEM_THY|A|1||)
define(MEM_OLD|A|1||)
define(MEM_RECD|S|8||)
define(MEM_RECT|S|8||)
define(MEM_RECB|S|8||)
define(silly_fld|a|1||)
OPEN_FILES:
open(PATIENT||0|EXIT)
open(DIABETIC||1|EXIT)
open(RP||0|)
open(RECALLS||0|)
open(REFER||0|EXIT)
open(PROCEDE||1|EXIT)
open(MEMORY||0|EXIT)
open(GPSETUP||0|EXIT)
STARTCHK:
trap(S|G|SAVE_RECS)
trap(D|I)
trap(C|G|CLR_RECS)
trap(Q|G|EXIT)
trap(J|I)
MOUNT_SCRS:
mount(SCREEN2|S||)
date(TD|G)
START_UP:
trap(J|I)
MEM_BP = ("Y")
PAT.NAME:
clrlne(1|22)
enter(PATIENT.NAME||||||||)
find(G|PATIENT.NAME|PAT.NAME|)
DIAB_REF = (RECORD.NUMBER)
find(M|DIAB_REF|NO_DIABX|)
NO_DIAB:
goto STARTALL
NO_DIAB2:
gosub GET_AGE
trap(%|I)
trap(U|I)
saves(10)
window(20|12|2|35)
ISITCLIN = ("")
pmsg("Is this a clinic or update?"|1|1|N|N|S|)
enter(ISITCLIN|"YN"|||Y|Y|N|30|1|N)
if ISITCLIN = ("Y") then CHECK_DATE = (TD)
trap(%|D)
trap(U|D)
redsp(10)
MEM_CTR = (9)
enter(CHECK_DATE||||N|Y|N|||N)
enter(CHECK_OP||||Y|Y|N|||N)
if CHECK_OP = ("") reent
enter(CHK_DOC|"1234"|||N|Y|N|||N)
enter(DOC_BP1|"1234567890"|||N|Y|N|||N)
enter(DOC_BP2|"1234567890"|||N|Y|N|||N)
if DOC_BP1 > (0) then MEM_BP = ("Y")
NO_DIAB3:
FLAG = ("X")
trap(J|G|RUN_MEMO)
enter(SMOK||SMOK_HLP||N|Y|N|||N)
if SMOK > (0) gosub SMOK_MSG
enter(EXERCISE||EX_HLP||N|Y|N|||N)
enter(ALCOHOL||ALC_HLP||N|Y|N|||N)
enter(ANGINA||ANG_HLP||N|Y|N|||N)
enter(DIET|"GBP "|DIET_HLP||Y|Y|N|||N)
enter(WT1||||N|Y|N|||N)
enter(WT2||||N|Y|N|||N)
IDEAL_WT = (WT2-81*0.85)
if WT1 > (IDEAL_WT) gosub WEIGHT
enter(PROT|" T+"|||N|N|N|||N)
if PROT => ("+") gosub REF_PROT
enter(SUG||SUG_HLP||N|N|N|||N)
if SUG > (0.25) gosub REF_SUG
enter(BP_CHECK_NUM|" 123"|||N|Y|N|||N)
enter(BP1||||N|Y|N|||N)
enter(BP2||||N|Y|N|||N)
enter(BP1S||BPST_HLP||N|Y|N|||N)
gosub BP_CHECK
enter(PULSE||||N|Y|N|||N)
if PULSE > (120) gosub FAST
if PULSE < (56) gosub SLOW
enter(REG|" YN"|REG_HLP||Y|Y|N|||N)
if REG = ("N") then enter(APEX||||N|Y|N|||N)
if APEX <> (0) then if APEX > (120) gosub FAST
if APEX <> (0) then if APEX < (56) gosub SLOW
enter(OEDEMA|" 123"|OED_HLP||N|Y|N|||N)
enter(FEV||||N|Y|N|||N)
enter(CHOL||||N|Y|N|||N)
enter(COMMENT1||||Y|Y|N|||N)
enter(COMMENT2||||Y|Y|N|||N)
gosub DRUGSCH
enter(DRUGS_CHECKED|"NY"|||Y|Y|N|||N)
enter(REF_CHECK|"NY"|||Y|Y|N|||N)
NEXT_CHECK = (CHECK_DATE+186)
enter(NEXT_CHECK||||N|Y|N|||N)
YES.NO = ("")
enter(YES.NO|"YN"|||Y|Y|N|||N)
if YES.NO = ("Y") gosub PRINT
SAVE_RECS:
if RECORD.NUMBER = (0) goto PAT.NAME
SAVE_DONE:
COD.REF = (RECORD.NUMBER)
find(M|COD.REF|NOCOD|)
COD.D[9] = (NEXT_CHECK)
COD.D[7] = (0)
save(RECALLS|N|Y)
DIAB_REF = (RECORD.NUMBER)
CHECK_TYPE = (4)
save(DIABETIC|N|Y)
find(M|RECORD.NUMBER|EXIT|)
save(PATIENT|N|Y)
if FLAG = ("Y") then run("recmenu")
FLAG = ("")
STARTX:
MEM_DIAB = ("")
MEM_NEW = ("")
MEM_BP = ("")
MEM_THY = ("")
MEM_CTR = (0)
MEM_RECD = (0)
MEM_NAME_CHK = ("")
MEM_RECT = (0)
MEM_CTR = (0)
MEM_OLD = ("")
MEM_RECB = (0)
AGE = (0)
BP_DROP = (0)
FBS_ADD = (0)
MEM_BP_AGE = (0)
for(CTR|12|23|1)
{
clrlne(1|CTR)
}
pmsg("F1 - Help F2 - Memo [Ctrl-Y]- Print"|1|24|N|N|S|)
clr(PATIENT|B)
goto START_UP
DEL_RECS:
del(DIABETIC|Y|)
clr(PATIENT|B)
goto STARTX
CLR_RECS:
clr(PATIENT|B)
clr(DIABETIC|B)
goto STARTX
EXIT:
if FLAG = ("X") do
{
FLAG = ("Y")
goto SAVE_DONE
}
run("recmenu")
PRT.MSG:
LNE.LNGTH = (0)
for(MCNTR|1|NUM.MSG|1)
{
LNE.LN2 =siz(A|MESSAGE[MCNTR])
if LNE.LN2 > (LNE.LNGTH) then LNE.LNGTH = (LNE.LN2)
}
NUM.MSG = (NUM.MSG + 1)
if LNE.LNGTH < (26) then LNE.LNGTH = (26)
LNE.LNGTH = (LNE.LNGTH + 4)
LLC = (40 - (LNE.LNGTH / 2))
HT = (NUM.MSG + 3)
WD = (LNE.LNGTH + 1)
saves(1)
window(LLC|24|HT|WD)
NUM.MSG = (NUM.MSG - 1)
pmsg(""||||||)
for(MCNTR|1|NUM.MSG|1)
{
pmsg(MESSAGE[MCNTR]|3||N|N|S|)
}
pmsg("Press any key to continue"|3||Y|N|S|)
redsp(1)
ret
NO_DIABX:
clr(DIABETIC|B)
MESSAGE[1] = ("NO CHECK UP RECORD FOR THIS PATIENT")
NUM.MSG = (1)
gosub PRT.MSG
goto NO_DIAB
SEEALL:
STARTALL1:
STARTALL:
if RECORD.NUMBER = (0) goto ENDIT
COD.REF = (RECORD.NUMBER)
find(M|COD.REF|NEXTALL2|)
MEM_RECB = (COD.D[9])
NEXTALL2:
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|ENDITX|)
CTR = (1)
TESTALL:
CTR2 = (CTR+11)
if CTR2 = (23) goto ENDIT
AOD[CTR] = (AUTO.ON.DEMAND)
MN[CTR] = (MEDICATION)
DO[CTR] = (DOSE)
QU[CTR] = (QUANTITY)
DS[CTR] = (DIRECTIONS)
QTY[CTR] = (RP.DISP.QTY)
ISN[CTR] = (ISSUE.NO)
trim(MN[CTR]|T)
trim(QU[CTR]|T)
just(QU[CTR]|L)
trim(DO[CTR]|T)
just(DO[CTR]|L)
trim(DS[CTR]|T)
just(DS[CTR]|L)
pmsg(AOD[CTR];" ";MN[CTR];" ";DO[CTR];" ";QU[CTR];" ";DS[CTR];" ";QTY[CTR];" ";ISN[CTR]|1|CTR2|N|N|S|)
silly_fld = ("")
find(N|RP|ENDIT|)
if RP.REF <> (RECORD.NUMBER) goto ENDIT
CTR = (CTR+1)
goto TESTALL
CLEARXALL:
clr(RP|B)
clr(RECALLS|B)
clrmem(AOD|15)
clrmem(MN|15)
clrmem(DO|15)
clrmem(QU|15)
clrmem(DS|15)
clrmem(QTY|15)
clrmem(ISN|15)
ret
ENDIT:
find(M|RECORD.NUMBER|PAT.NAME|)
DIAB_REF = (RECORD.NUMBER)
find(M|DIAB_REF|NO_DIAB2|)
goto NO_DIAB2
ENDITX:
MESSAGE[1] = ("NO DRUGS ON REPEAT")
NUM.MSG = (1)
gosub PRT.MSG
goto ENDIT
GET_AGE:
AGE = (TD-DATE.OF.BIRTH/365)
ret
BP_CHECK:
if MEM_BP = ("Y") do
{
if BP_CHECK_NUM => (2) do
{
if BP1 > (DOC_BP1) gosub REFER_BP
if BP2 > (DOC_BP2) gosub REFER_BP
BP_DROP = (BP1-BP1S)
if BP_DROP > (20) gosub REFER_BP
}
ret
}
else
{
if BP_CHECK_NUM = (2) do
{
if BP1 > (AGE+110) gosub REFER_BP
}
if BP2 > (105) gosub REFER_BP
BP_DROP = (BP1-BP1S)
if BP_DROP > (20) gosub REFER_BP
}
ret
REF_FBS:
if FBS_CHECK_NUM = (2) do
{
FBS_ADD = (FBS+FBS2)
if FBS_ADD > (14) gosub FBS_MSG
}
ret
REF_HBA:
if HBA > (8) gosub HBA_MSG
ret
SMOK_HLP:
MESSAGE[1] = ("Number per day eg 16")
NUM.MSG = (1)
gosub PRT.MSG
ret
SMOK_MSG:
MESSAGE[1] = ("There is a risk of cancer,heart disease,gangrene,and bronchitis")
NUM.MSG = (1)
gosub PRT.MSG
ret
REF_PROT:
MESSAGE[1] = ("If there is more than a trace -send sample for orgs and sens.")
MESSAGE[2] = ("Refer to Dr if protein persists etc")
NUM.MSG = (2)
gosub PRT.MSG
ret
SUG_HLP:
MESSAGE[1] = ("Enter sugar in urine as a decimal eg 1/4 = .25")
NUM.MSG = (1)
gosub PRT.MSG
ret
REF_SUG:
MESSAGE[1] = ("Do a blood sugar.If high refer to Dr.")
MESSAGE[2] = ("If patient is a diabetic refer to Dr if more than a third of tests over .25")
NUM.MSG = (2)
gosub PRT.MSG
ret
REG_HLP:
MESSAGE[1] = ("Enter a Y if regular or a N if not. Do apical rate if N")
NUM.MSG = (1)
gosub PRT.MSG
ret
REFER_BP:
MESSAGE[1] = ("There is a definate BP problem here - refer to Dr.")
NUM.MSG = (1)
REF_CHECK = ("Y")
gosub PRT.MSG
ret
BPST_HLP:
MESSAGE[1] = ("Enter standing systolic - It should not drop more than 20")
NUM.MSG = (1)
gosub PRT.MSG
ret
DIET_HLP:
MESSAGE[1] = ("G = Good diet B = Bad diet P = Poor")
NUM.MSG = (1)
gosub PRT.MSG
ret
EX_HLP:
MESSAGE[1] = ("Enter a number for hours per week exercise")
NUM.MSG = (1)
gosub PRT.MSG
ret
FBS_MSG:
MESSAGE[1] = ("These are too high - refer to Dr.")
NUM.MSG = (1)
gosub PRT.MSG
REF_CHECK = ("Y")
ret
HBA_MSG:
MESSAGE[1] = ("Poor control here - refer to Dr.")
NUM.MSG = (1)
gosub PRT.MSG
REF_CHECK = ("Y")
ret
VIS_HLP:
MESSAGE[1] = ("Use Snellen test type eg 6 ")
NUM.MSG = (1)
gosub PRT.MSG
ret
RET_HLP:
MESSAGE[1] = ("Retinopathy 0,1,2,3,4,5 ")
NUM.MSG = (1)
gosub PRT.MSG
ret
FOOT_HLP:
MESSAGE[1] = ("Y = Pulses present N = No pulses")
NUM.MSG = (1)
gosub PRT.MSG
ret
SENS_HLP:
MESSAGE[1] = ("Y = Tuning fork sensation present N = Not present")
NUM.MSG = (1)
gosub PRT.MSG
ret
DRUGSCH:
MESSAGE[1] = ("NOW CHECK PATIENTS DRUG THERAPY IS CORRECT")
NUM.MSG = (1)
gosub PRT.MSG
mount(DRUGSCR|S)
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|NOSCR|)
CTR = (17)
NEXTRPS:
trim(MEDICATION|T)
if CTR = (29) do
{
pmsg("There are more drugs"|65|20|N|N|D|)
goto NOSCR
}
if CTR => (23) do
{
CTR6 = (CTR-6)
pmsg(MEDICATION|31|CTR6|N|N|D|)
}
else
{
pmsg(MEDICATION|1|CTR|N|N|D|)
}
CTR = (CTR+1)
find(N|RP|NOSCR|)
if RP.REF <> (RECORD.NUMBER) goto NOSCR
goto NEXTRPS
NOSCR:
enter(COMMENT1|||NOSCR|Y|Y|N|||N)
enter(COMMENT2||||Y|Y|N|||N)
mount(SCREEN2|S)
ret
NOCOD:
COD.PAT.NAME = (PATIENT.NAME)
COD.REF = (RECORD.NUMBER)
save(RECALLS|N|N)
find(M|COD.REF||)
goto SAVE_RECS
RUN_MEMO:
goto RUN_MEMOX
RUN_MEMOX:
trap(J|G|EXIT_MEM)
trap(S|G|SAVE_MEMO)
trap(D|I)
trap(C|I)
trap(Q|G|EXIT_MEM)
trap(L|G|EXIT_MEM)
MOUNT:
mount(NEW|S||)
START:
enter(PATIENT.NAME||||Y|Y|N|||N)
find(G|PATIENT.NAME|START|)
PROC_REF = (RECORD.NUMBER)
find(M|PROC_REF|START2CL|)
NY = ("")
pmsg("DO YOU WANT TO UPDATE THE MEMOS FIRST:"|10|20|N|N|S|)
enter(NY|"YN"|||Y|Y|N|50|20|N)
if NY = ("Y") goto UPMEMO
clrlne(1|20)
START2:
gosub LINE
if CTR2 = (0) then CTR2 = (1)
SATRT3:
MEM_DOC = ("")
for(CTR|CTR2|6|1)
{
PROC_DATE[CTR] = (TD)
PROC_UP = (TD)
enter(PROC_DATE[CTR]|||SATRT3|N|N|N|||N)
enter(PROC[CTR]||||Y|Y|N|||N)
enter(PROC_DOC[CTR]|"12345"|||Y|Y|N|||N)
MEM_DOC = (PROC_DOC[CTR])
enter(PROC_OP[CTR]||||Y|Y|N|||N)
if PROC_OP[CTR] = ("") reent
if PROC_EX[CTR] = ("") do
{
PROC_REF = (RECORD.NUMBER)
PROC4 =mid(PROC[CTR]|1|1|)
if PROC4 = ("*") do
{
PROC_EX[CTR] = ("X")
gosub STARTAGAIN
save(PROCEDE|N|N)
find(M|PROC_REF||)
}
enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
}
}
gosub LINE
for(CTR|1|6|1)
{
if PROC[CTR] = ("") then PROC_DATE[CTR] = (0)
}
goto SATRT3
SAVE_MEMO:
for(CTR|1|6|1)
{
if PROC[1] = ("") do
{
clr(PROCEDE|B)
goto START
}
if PROC[CTR] = ("") do
{
PROC_DATE[CTR] = (0)
PROC_OP[CTR] = ("")
PROC_DOC[CTR] = ("")
PROC_DONE[CTR] = ("")
}
}
if PROC_REF = (0) goto START
PROC_REF = (RECORD.NUMBER)
if PROC_REF = (0) goto START
save(PROCEDE|Y|Y|)
MEM_DOC = ("")
goto START
EXIT_MEM:
if PROC[1] = ("") goto RUNPATREC
for(CTR|1|6|1)
{
if PROC[CTR] = ("") do
{
PROC_DATE[CTR] = (0)
PROC_OP[CTR] = ("")
PROC_DOC[CTR] = ("")
PROC_DONE[CTR] = ("")
}
}
if PROC_REF > (0) then save(PROCEDE|N|Y)
RUNPATREC:
trap(S|G|SAVE_RECS)
trap(D|I)
trap(C|G|CLR_RECS)
trap(Q|G|EXIT)
trap(J|G|RUN_MEMO)
mount(SCREEN2|S)
gosub STARTALLXX
goto PAT.NAME2
LINE:
for(CTR2|1|6|1)
{
if PROC[CTR2] = ("") do
{
if CTR2 = (6) do
{
pops
goto SATRT3
}
ret
}
}
CTR = (2)
if PROC_DATE[1] = (TD) do
{
for(CTR3|1|6|1)
{
enter(PROC_DONE[CTR3]|" Y"|||Y|Y|N|||N)
}
pops
goto SAVE_MEMO
}
for(CTR2|1|5|1)
{
PROC[CTR2] = (PROC[CTR])
PROC_DATE[CTR2] = (PROC_DATE[CTR])
PROC_OP[CTR2] = (PROC_OP[CTR])
PROC_DOC[CTR2] = (PROC_DOC[CTR])
PROC_DONE[CTR2] = (PROC_DONE[CTR])
CTR = (CTR+1)
}
PROC[6] = ("")
PROC_DATE[6] = (0)
PROC_OP[6] = ("")
PROC_DOC[6] = ("")
PROC_DONE[6] = ("")
PROC_EX[6] = ("")
goto LINE
ret
UPARROW:
CTR2 = (CTR2-1)
CTR = (CTR2)
ret
STARTAGAIN:
trap(%|I)
trap(J|I)
trap(Q|G|EXITX)
trap(U|I)
trap(C|I)
trap(S|I)
saves(1)
window(20|15|5|40)
trap(Q|G|EXITX)
find(B|HEADING||)
pmsg("IS IT EMERGENCY:"|1|1|N|N|S|)
enter(ISIT_EMER|"YN"|||Y|Y|N|20|1|N)
if ISIT_EMER = ("Y") goto SCR2
gosub SCREEN2
CLIN_NUM = (CLIN_NUM)
pmsg("ENTER SPECIALTY:"|1|2|N|N|S|)
enter(CLIN_NUM||||N|Y|N|20|2|N)
ADDER:
REF_COD = (MEM_DOC)
find(M|REF_COD|EXIT|)
if ISIT_EMER <> ("Y") do
{
CLIN_REF[CLIN_NUM] = (CLIN_REF[CLIN_NUM]+1)
}
else
{
EMERG_REF[EMERG_NUM] = (EMERG_REF[EMERG_NUM]+1)
}
save(REFER|N|Y)
CLIN_NUM = (0)
CON_NUM = (0)
EMERG_NUM = (0)
ISIT_EMER = ("")1
redsp(1)
trap(%|D)
trap(J|G|EXIT_MEM)
trap(U|D)
trap(Q|G|EXIT)
ret
SCREEN2:
saves(2)
window(1|25|24|78)
for(REF_CTR|1|22|1)
{
pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
}
CON_CTR = (REF_CTR+1)
for(REF_CTR|1|22|1)
{
pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
CON_CTR = (CON_CTR+1)
}
pmsg("ENTER NUMBER:"|60|12|N|N|S|)
enter(CLIN_NUM||||N|Y|N|65|13|N)
if CLIN_NUM = (0) reent
if CLIN_NUM > (44) reent
redsp(2)
ret
SCREEN3:
saves(2)
window(1|25|24|78)
for(REF_CTR|1|22|1)
{
pmsg(@R;REF_CTR;@N;" ";@R;CLINICS[REF_CTR];@N|1|REF_CTR|N|N|S|)
}
CON_CTR = (REF_CTR+1)
for(REF_CTR|1|22|1)
{
pmsg(@R;CON_CTR;@N;" ";@R;CLINICS[CON_CTR];@N|25|REF_CTR|N|N|S|)
CON_CTR = (CON_CTR+1)
}
pmsg("ENTER NUMBER:"|60|12|N|N|S|)
enter(EMERG_NUM||||N|Y|N|65|13|N)
if EMERG_NUM = (0) reent
if EMERG_NUM > (44) reent
redsp(2)
ret
SCR2:
gosub SCREEN3
EMERG_NUM = (EMERG_NUM)
pmsg("ENTER SPECIALTY EMERGENCY:"|1|3|N|N|S|)
enter(EMERG_NUM||||N|Y|N|30|3|N)
goto ADDER
EXITX:
goto STARTCHK
UPMEMO:
enter(PROC_DONE[1]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[2]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[3]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[4]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[5]|" YNSCRO"|||Y|Y|N|||N)
enter(PROC_DONE[6]|" YNSCRO"|||Y|Y|N|||N)
clrlne(1|22)
goto START2
START2CL:
clr(PROCEDE|B)
goto START2
PAT.NAME2:
goto NO_DIAB3
PRINT:
mount(CHKREP|R|P)
pset(128|24|24)
pchr(P|1)
pfmt(1|||N|N|)
pfmt(2|||N|N|)
pfmt(3|||N|N|)
pfmt(4|||N|N|)
pfmt(5|||N|N|)
pfmt(6|||N|N|)
pfmt(7|||N|N|)
fld_lctr = (0)
gosub PRINTRP
fld_lctr = (fld_lctr+7)
if fld_lctr = (24) goto MOUNTAGAIN
if REF_CHECK = ("Y") do
{
pmsg(%14;" REFERRED TO DOCTOR"|||N|N|P|)
fld_lctr = (fld_lctr+1)
}
CTR3 = (24-fld_lctr)
if CTR3 <= (0) goto MOUNTAGAIN
for(CTR2|1|CTR3|1)
{
pmsg(""|||N|N|P|)
}
MOUNTAGAIN:
mount(SCREEN2|S)
gosub STARTALLXX
ret
PRINTRP:
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|RETPRINT|)
CTR = (1)
TESTALLX:
if CTR = (12) goto RETPRINT
AOD[CTR] = (AUTO.ON.DEMAND)
MN[CTR] = (MEDICATION)
DO[CTR] = (DOSE)
QU[CTR] = (QUANTITY)
DS[CTR] = (DIRECTIONS)
QTY[CTR] = (RP.DISP.QTY)
ISN[CTR] = (ISSUE.NO)
trim(MN[CTR]|T)
trim(QU[CTR]|T)
just(QU[CTR]|L)
trim(DO[CTR]|T)
just(DO[CTR]|L)
trim(DS[CTR]|T)
just(DS[CTR]|L)
pmsg(AOD[CTR];" ";MN[CTR];" ";DO[CTR];" ";QU[CTR];" ";DS[CTR];" ";QTY[CTR];" ";ISN[CTR]|||N|N|P|)
fld_lctr = (fld_lctr+1)
find(N|RP|RETPRINT|)
if RP.REF <> (RECORD.NUMBER) goto RETPRINT
CTR = (CTR+1)
goto TESTALLX
RETPRINT:
PROC_REF = (RECORD.NUMBER)
find(M|PROC_REF|RETPRINTX|)
for(CTR2|1|6|1)
{
if PROC[CTR2] = ("") goto RETPRINTX
pmsg(PROC_DATE[CTR2];" ";PROC[CTR2]|||N|N|P|)
fld_lctr = (fld_lctr+1)
}
RETPRINTX:
ret
STARTALLXX:
if RECORD.NUMBER = (0) goto ENDITXXX
COD.REF = (RECORD.NUMBER)
find(M|COD.REF|NEXTALL2XX|)
MEM_RECD = (COD.D[4])
MEM_RECT = (COD.D[6])
MEM_RECB = (COD.D[9])
NEXTALL2XX:
RP.REF = (RECORD.NUMBER)
find(M|RP.REF|ENDITXXX|)
CTR = (1)
TESTALLOP:
AOD[CTR] = (AUTO.ON.DEMAND)
MN[CTR] = (MEDICATION)
DO[CTR] = (DOSE)
QU[CTR] = (QUANTITY)
DS[CTR] = (DIRECTIONS)
QTY[CTR] = (RP.DISP.QTY)
ISN[CTR] = (ISSUE.NO)
trim(MN[CTR]|T)
trim(QU[CTR]|T)
just(QU[CTR]|L)
trim(DO[CTR]|T)
just(DO[CTR]|L)
trim(DS[CTR]|T)
just(DS[CTR]|L)
CTR2 = (CTR+11)
if CTR2 = (23) goto ENDITXXX
pmsg(AOD[CTR];" ";MN[CTR];" ";DO[CTR];" ";QU[CTR];" ";DS[CTR];" ";QTY[CTR];" ";ISN[CTR]|1|CTR2|N|N|S|)
silly_fld = ("")
find(N|RP|ENDITXXX|)
if RP.REF <> (RECORD.NUMBER) goto ENDITXXX
CTR = (CTR+1)
goto TESTALLOP
ENDITXXX:
ret
ALC_HLP:
MESSAGE[1] = ("ENTER NUMBER OF PINTS A WEEK - 1 PUB GIN=1/2 PINT")
NUM.MSG = (1)
gosub PRT.MSG
ret
ANG_HLP:
MESSAGE[1] = ("ENTER NUMBER OF ATTACKS PER WEEK")
NUM.MSG = (1)
gosub PRT.MSG
ret
WEIGHT:
MESSAGE[1] = ("THERE IS AN OBESITY PROBLEM HERE")
NUM.MSG = (1)
gosub PRT.MSG
ret
OED_HLP:
MESSAGE[1] = ("Graded from 0 to 3")
NUM.MSG = (1)
gosub PRT.MSG
ret
FAST:
MESSAGE[1] = ("Pulse is too fast - REFER")
NUM.MSG = (1)
gosub PRT.MSG
REF_CHECK = ("Y")
ret
SLOW:
MESSAGE[1] = ("Pulse is too slow - do DIGOXIN level and Refer")
NUM.MSG = (1)
gosub PRT.MSG
REF_CHECK = ("Y")
ret
\STNEW
PROCEDURE ENTRY
╔═══════════════════════════════════════════════════════════════╗
║ & <& <& <║
║ ║
║ Date Procedure Dr Rec Done║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
║ & & & & & ║
╚═══════════════════════════════════════════════════════════════╝
Esc - Exit and Save V=1 G=2 P=3 N=4 T=5 * for clinic,xray,path
Y=DONE S=SEE DR C=COL.SCRPT R=REPEAT O=OTHER N=NORMAL
\
PATIENT.NAME
ADDRESS1
DATE.OF.BIRTH
PROC_DATE[1]
PROC[1]
PROC_DOC[1]
PROC_OP[1]
PROC_DONE[1]
PROC_DATE[2]
PROC[2]
PROC_DOC[2]
PROC_OP[2]
PROC_DONE[2]
PROC_DATE[3]
PROC[3]
PROC_DOC[3]
PROC_OP[3]
PROC_DONE[3]
PROC_DATE[4]
PROC[4]
PROC_DOC[4]
PROC_OP[4]
PROC_DONE[4]
PROC_DATE[5]
PROC[5]
PROC_DOC[5]
PROC_OP[5]
PROC_DONE[5]
PROC_DATE[6]
PROC[6]
PROC_DOC[6]
PROC_OP[6]
PROC_DONE[6]
\
\R CHKREP
BP CLINIC DETAILS FOR: & :& ON & BY & Dr.&
================================================================================================================
Smokes :& Exrcise:& Alcohol:& Angina:& Diet:& Weight:& Height:& Ideal Wt:&
Protein:& Sugar:& Drs. Rec. BP:& /& BP Chk Num:& BP:& /& Standing Sys:& Pulse:& /&/&
Oedema:& Fev:&
Drugs Checked:& Tsh:& Next Check:&
Nurses comments:& & Nurses Sig:
\
PATIENT.NAME
DATE.OF.BIRTH
TD
CHECK_OP
CHK_DOC
SMOK
EXERCISE
ALCOHOL
ANGINA
DIET
WT1
WT2
IDEAL_WT
PROT
SUG
DOC_BP1
DOC_BP2
BP_CHECK_NUM
BP1
BP2
BP1S
PULSE
REG
APEX
OEDEMA
FEV
DRUGS_CHECKED
TSH
NEXT_CHECK
COMMENT1
COMMENT2
\
\SSSCREEN2
BP CLINIC p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p( p p) on p p p p p p p p by p p p p p p ================
=============================================================== Dr.Num:p p Rec.Date:p p p p p p p p p Drug
s Checked:p p Refrd:p p Nxt Chk:p p p p p p p p p Prnt N/Y:p p ================================================
=============================== Smokes:p p p Wt:p p p p p p p Dr.BP:p p p p/ p p p
Exerc :p p p Ht:p p p p p p p Chk.No:p p
Alcoh :p p p IW:p p p p p p p BP:p p p p/ p p p Angina:p p p Pr
:p p p p p St.Sys:p p p p Diet :p p Su:p p p p p Pulse
:p p p p:p p:p p p p Oedema:p p Fev:p p p p CHOL:p p p p p p Com1 :p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p Com2:p p
p p p p p p p p p p p p p p p p p p p p p p p p p p p p p ================================================================
==============
\
PATIENT.NAME 27 A 16 1
DATE.OF.BIRTH 10 D 44 1
AGE 2 N 55 1
CHECK_DATE 8 S 62 1
CHECK_OP 6 A 74 1
CHK_DOC 1 N 8 3
COD.D 9 8 S 20 3
DRUGS_CHECKED 1 A 43 3
REF_CHECK 1 A 51 3
NEXT_CHECK 8 S 61 3
YES.NO 1 A 79 3
SMOK 2 N 8 5
WT1 52N 18 5
DOC_BP1 3 N 34 5
DOC_BP2 3 N 38 5
EXERCISE 2 N 8 6
WT2 52N 18 6
BP_CHECK_NUM 1 N 34 6
ALCOHOL 2 N 8 7
IDEAL_WT 52N 18 7
BP1 3 N 34 7
BP2 3 N 38 7
ANGINA 2 N 8 8
PROT 4 A 18 8
BP1S 3 N 34 8
DIET 1 A 8 9
SUG 32N 18 9
PULSE 3 N 34 9
REG 1 A 38 9
APEX 3 N 40 9
OEDEMA 1 N 53 9
FEV 3 N 60 9
CHOL 42N 70 9
COMMENT1 30 A 810
COMMENT2 30 A 4810
\
\STDRUGSCR
Digoxin B-blockers Diuretics Tnt + Ca Ace Inhib
╔═════════════════════════════════════════════════════════════════════════╗
║CHECK║PULSE + APEX ║FEV ║OEDEMA ║ANGINA ║ ║
║═════║════════════════║═════════════║══════════║═════════════║═══════════║
║TESTS║DIGOXIN LEVEL ║U&E ║U&E ║NONE ║U&E ║
║ ║U & E ║ ║URIC ACID ║ ║ ║
║ ║ ║ ║BS ║ ║ ║
║═════║════════════════║═════════════║══════════║═════════════║═══════════║
║SIDE ║NAUSEA,VOMIT ║COLD EXTREMS ║GOUT ║HEADACHE ║DROP ║
║ ║DIZZY,COLOR VIS.║ ║ ║ ║DRY COUGH ║
║═════║════════════════║═════════════║══════════║═════════════║═══════════║
║REFER║PULSE >120 <56 ║PULSE <50 ║DYSPNEA+ ║ANGINA WORSE ║ ║
║ ║ ║FEV 33% LESS ║ ║ ║ ║
╚═════════════════════════════════════════════════════════════════════════╝
Pulse:& /&/& Fev:& Oed:& Angina:& Com:&
Drugs Com:&
\
PULSE
REG
APEX
FEV
OEDEMA
ANGINA
COMMENT1
COMMENT2
\